﻿<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML>
<HEAD>
<TITLE>#EscapeChar (and explanation of escape sequences)</TITLE>
<META http-equiv=Content-Type content="text/html; charset=UTF-8">
<LINK href="../css/commands.css" type=text/css rel=stylesheet>
<LINK media=print href="../css/print.css" type=text/css rel=stylesheet>
</HEAD>
<BODY>
<H1>#EscapeChar (以及转义顺序的解释)</H1>


<P>改变脚本的转义符号 (例如重音符与反斜线)。</P>
<P class=CommandSyntax>#EscapeChar NewChar</P>
<h3>参数</h3>
<TABLE borderColor=#c0c0c0 cellSpacing=0 cellPadding=3 width="100%" border=1>
  <TR>
    <TD width="15%">NewChar</TD>
    <TD width="85%">指定单个字符。</TD></TR></TABLE>
<h3>注意</h3>
<P>转义字符用来表明其后紧跟的字符应该被解释地与它通常的含义不同。</P>
<P>AutoIt v2 (.aut) 脚本默认的转义符号是反斜线 (\)。对所有其它的文件扩展名，包括所有编译的脚本，默认的转义符号是重音符/反引号 (`)。当一个 .aut 脚本 <A href="../AutoIt2Users.htm">自动转换</A> 为一个 .ahk 脚本时，反斜线转义符号将被全部替换为重音符。</P>
<h3>转义顺序 (当重音符是转义符号时)</h3>
<TABLE borderColor=#c0c0c0 cellSpacing=0 cellPadding=3 width="100%" border=1>
  <TR>
    <TD><STRONG>输入这些 </STRONG></TD>
    <TD><STRONG>来得到这些 </STRONG></TD></TR>
  <TR>
    <TD width="15%">`,</TD>
    <TD width="85%">, (原义的逗号)。<STRONG>注意:</STRONG> 在命令最后一个参数里出现的逗号不需要被转义，因为程序知道将它们视作原义。同样也适用于 <A href="MsgBox.htm">MsgBox</A> 命令的所有参数，因为它有智能的逗号处理功能。</TD></TR>
  <TR>
    <TD>`%</TD>
    <TD>% (原义的百分号)</TD></TR>
  <TR>
    <TD>``</TD>
    <TD>` (原义的重音符；也就是两个连续的转义字符结果为单个原义的字符)</TD></TR>
  <TR>
    <TD>`;</TD>
    <TD> ; (原义的分号)。<STRONG>注意:</STRONG> 这<u>只有</u>在分号的左边有一个空格或 tab 时才有必要。如果没有，它会被正确地识别而不用转义。</TD></TR>
  <TR>
    <TD>`::</TD>
    <TD>:: (一对原义的冒号)。在 v1.0.40+ 版本之后，它不再需要被转义。</TD></TR>
  <TR>
    <TD>`n</TD>
    <TD>新起一行 (换行/LF)</TD></TR>
  <TR>
    <TD>`r</TD>
    <TD>回车 (CR)</TD></TR>
  <TR>
    <TD>`b</TD>
    <TD>退格</TD></TR>
  <TR>
    <TD>`t</TD>
    <TD>tab (很典型的水平的移位)</TD></TR>
  <TR>
    <TD>`v</TD>
    <TD>垂直的 tab -- 相当于 Ascii 编码的值 11。它也可以在一些应用程序中通过键入 Control+K 来显示。</TD></TR>
  <TR>
    <TD>`a</TD>
    <TD>alert (警告/bell) -- 相当于 Ascii 编码的值 7。它也可以在一些应用程序中通过键入 Control+G 来显示。</TD></TR>
  <TR>
    <TD>`f</TD>
    <TD>formfeed(进纸) -- 相当于 Ascii 编码的值 12。它也可以在一些应用程序中通过键入 Control+L 来显示。</TD></TR>
  <TR>
    <TD>Send</TD>
    <TD>当 <A href="Send.htm">Send 命令</A>或<A href="../Hotstrings.htm">热字符串</A>以它们默认的 (非 raw) 模式使用时，像 {}^!+# 这样的字符有特殊的含义。因此，在这些情况下要使用它们的原义就得将它们围在大括号内。例如：Send {<STRONG>^</STRONG>}{<STRONG>!</STRONG>}{<STRONG>{</STRONG>}</TD></TR>
  <TR>
    <TD>""</TD>
    <TD>在<A href="../Variables.htm#Expressions">表达式</A>内，一个原义的字符串内的两个连续的引号解析为单个原义的引号。例如：Var := "The color ""red"" was found."</TD></TR></TABLE>
<h3>相关命令</h3>
<P><A name=DerefChar></A><A name=Delimiter></A>同样存在下面这些极其少用的指令；它们的用法在这些例子里表明：</P><PRE>#DerefChar #  <SPAN class=CodeCom>; 将引用符号一般默认的 % 改为 # 。</SPAN>
#Delimiter /  <SPAN class=CodeCom>; 将分隔符号一般默认的逗号改为 / 。</SPAN></PRE>
<h3>示例</h3><PRE class=NoIndent>#EscapeChar \  <SPAN class=CodeCom>;将其改变为反斜杠来代替默认的重音符 (`)。</SPAN></PRE>
</BODY></HTML>
